home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 7 / BBS in a Box - Macintosh - Volume VII (BBS in a Box) (January 1993).iso / Files / Hyper / P / Prog. Notebook Updates.cpt / P.N. Update / background_3799.txt < prev    next >
Text File  |  1988-04-20  |  16KB  |  617 lines

  1. -- background: 3799 from stack: in. Update
  2. -- bmap block id: 3165
  3. -- flags: 0000
  4. -- background id: 0
  5. -- name: 
  6. ----- HyperTalk script -----
  7. on openCard
  8.   show field 1
  9.   show field 2
  10. end openCard
  11.  
  12.  
  13. -- part 1 (field)
  14. -- low flags: 80
  15. -- high flags: 2007
  16. -- rect: left=35 top=54 right=304 bottom=499
  17. -- title width / last selected line: 0
  18. -- icon id / first selected line: 0 / 0
  19. -- text alignment: 0
  20. -- font id: 0
  21. -- text size: 12
  22. -- style flags: 0
  23. -- line height: 16
  24. -- part name: body
  25. ----- HyperTalk script -----
  26. on mouseUp
  27.   -- handles goto for command-click
  28.   -- note that stack offsets message window
  29.   if selection is empty then
  30.     repeat two times
  31.       click at the clickLoc
  32.     end repeat
  33.     put the selection into holder
  34.     push card
  35.     visual effect wipe right to black
  36.     visual effect wipe left
  37.     find holder in field keywords
  38.     if the result is not empty then
  39.       answer "No match for keyword " "e& holder"e
  40.       pop card
  41.     end if
  42.   end if
  43.   click at 0,0 --disable selection
  44. end mouseUp
  45.  
  46. On MouseWithin -- UNSOM technique by Guy Kuo, December 13, 1987
  47.   -- handles option-click to create new reference
  48.   if the OptionKey is down then
  49.     if the locktext of the target is true then
  50.       put true into DidUnlock
  51.       set locktext of target to false
  52.     else
  53.       put false into DidUnlock
  54.     end if
  55.     set the cursor to 2
  56.     repeat while (the OptionKey is down) and (item 1 of the rect of target <= item 1 of the mouseLoc) and (item 1 of the mouseLoc <= item 3 of the rect of target) and (item 2 of the rect of target <= item 2 of the mouseLoc) and (item 2 of the mouseLoc <= item 4 of the rect of target)
  57.       if the Mouse is down then
  58.         click at the MouseLoc
  59.         click at the ClickLoc
  60.         if the selection <> empty then
  61.           -- this is XrefText code
  62.           put the selection into holder
  63.           type holder & "*"
  64.           push card
  65.           find holder in field keywords
  66.           if the result is not empty then
  67.             doMenu New Card
  68.             put holder into field keywords
  69.             set the name of this card to holder
  70.             get the number of lines in card field finder of card theIndex
  71.             put holder into line it+1 of card field finder of card theIndex
  72.           else
  73.             put the length of holder into hl
  74.             put the length of word 1 of field keywords into kl
  75.             if hl<>kl then
  76.               answer "Close match but not exact!" with "Good Enough" or "New Card"
  77.               if it contains "New" then
  78.                 set lockscreen to true
  79.                 go prev
  80.                 doMenu New Card
  81.                 put holder into field keywords
  82.                 set the name of this card to holder
  83.                 get the number of lines in card field finder of card theIndex
  84.                 put holder into line it+1 of card field finder of card theIndex
  85.                 set lockscreen to false
  86.               end if
  87.             end if
  88.           end if
  89.         end if
  90.         if field body is empty then
  91.           type tab
  92.         else
  93.           click at -1,-1
  94.         end if
  95.       end if
  96.     end repeat
  97.     if DidUnlock then
  98.       set the locktext of the target to true
  99.     end if
  100.   end if
  101. end MouseWithin
  102.  
  103.  
  104.  
  105. -- part 44 (button)
  106. -- low flags: 00
  107. -- high flags: 0000
  108. -- rect: left=0 top=253 right=283 bottom=34
  109. -- title width / last selected line: 0
  110. -- icon id / first selected line: 32462 / 32462
  111. -- text alignment: 1
  112. -- font id: 0
  113. -- text size: 12
  114. -- style flags: 0
  115. -- line height: 16
  116. -- part name: ?
  117. ----- HyperTalk script -----
  118. on mouseUp
  119.   set lockscreen to true
  120.   go card ayuda
  121.   set lockscreen to false
  122. end mouseUp
  123.  
  124.  
  125.  
  126. -- part 7 (button)
  127. -- low flags: 00
  128. -- high flags: 0000
  129. -- rect: left=0 top=195 right=225 bottom=34
  130. -- title width / last selected line: 0
  131. -- icon id / first selected line: 29114 / 29114
  132. -- text alignment: 1
  133. -- font id: 0
  134. -- text size: 12
  135. -- style flags: 0
  136. -- line height: 16
  137. -- part name: Back
  138. ----- HyperTalk script -----
  139. on mouseUp
  140.   set lockscreen to true
  141.   if the number of this card = 1 then
  142.     answer "Careful. You might leave this stack." with Cancel or OK
  143.     if it = "OK" then
  144.       go back
  145.     else
  146.       exit mouseup
  147.     end if
  148.   else
  149.     pop card
  150.   end if
  151.   set lockscreen to false
  152. end mouseUp
  153.  
  154.  
  155.  
  156. -- part 8 (button)
  157. -- low flags: 00
  158. -- high flags: 0000
  159. -- rect: left=0 top=166 right=196 bottom=34
  160. -- title width / last selected line: 0
  161. -- icon id / first selected line: 0 / 0
  162. -- text alignment: 1
  163. -- font id: 0
  164. -- text size: 12
  165. -- style flags: 0
  166. -- line height: 16
  167. -- part name: New Stack
  168. ----- HyperTalk script -----
  169. on mouseUp
  170.   set lockscreen to true
  171.   put the short name of this stack into checker
  172.   doMenu New Stack...
  173.   get the short name of this stack
  174.   if it = checker then exit mouseup
  175.   put it into field "keywords"
  176.   push card
  177.   go back
  178.   ---
  179.   go to second card
  180.   doMenu "Copy Card"
  181.   pop card
  182.   doMenu "Paste Card"
  183.   push card
  184.   ---
  185.   go to first card of stack checker
  186.   doMenu "Copy Card"
  187.   pop card
  188.   go prev
  189.   doMenu "Paste Card"
  190.   set lockscreen to false
  191.   click at the loc of button "Re-Index"
  192. end mouseUp
  193.  
  194.  
  195.  
  196. -- part 9 (button)
  197. -- low flags: 00
  198. -- high flags: 0000
  199. -- rect: left=0 top=282 right=312 bottom=34
  200. -- title width / last selected line: 0
  201. -- icon id / first selected line: 1011 / 1011
  202. -- text alignment: 1
  203. -- font id: 0
  204. -- text size: 12
  205. -- style flags: 0
  206. -- line height: 16
  207. -- part name: Home
  208. ----- HyperTalk script -----
  209. on mouseUp
  210.   visual effect iris close to black
  211.   visual effect iris open to white
  212.   go home
  213. end mouseUp
  214.  
  215.  
  216.  
  217. -- part 12 (button)
  218. -- low flags: 80
  219. -- high flags: 8004
  220. -- rect: left=355 top=72 right=98 bottom=384
  221. -- title width / last selected line: 0
  222. -- icon id / first selected line: 0 / 0
  223. -- text alignment: 1
  224. -- font id: 0
  225. -- text size: 12
  226. -- style flags: 0
  227. -- line height: 16
  228. -- part name: OK
  229. ----- HyperTalk script -----
  230. on mouseUp
  231.   hide bkgnd button OK
  232.   show field body
  233. end mouseUp
  234.  
  235.  
  236.  
  237. -- part 17 (button)
  238. -- low flags: 00
  239. -- high flags: 0000
  240. -- rect: left=0 top=224 right=254 bottom=34
  241. -- title width / last selected line: 0
  242. -- icon id / first selected line: 21449 / 21449
  243. -- text alignment: 1
  244. -- font id: 0
  245. -- text size: 12
  246. -- style flags: 0
  247. -- line height: 16
  248. -- part name: first card
  249. ----- HyperTalk script -----
  250. on mouseUp
  251.   if the number of this card > 1 then
  252.     set lockscreen to true
  253.     go to first card
  254.     set lockscreen to false
  255.   else
  256.     play boing
  257.     answer "You're already at the first card!"
  258.   end if
  259. end mouseUp
  260.  
  261.  
  262.  
  263. -- part 32 (button)
  264. -- low flags: 00
  265. -- high flags: 0000
  266. -- rect: left=0 top=137 right=167 bottom=34
  267. -- title width / last selected line: 0
  268. -- icon id / first selected line: 0 / 0
  269. -- text alignment: 1
  270. -- font id: 0
  271. -- text size: 12
  272. -- style flags: 0
  273. -- line height: 16
  274. -- part name: Import Text
  275. ----- HyperTalk script -----
  276. on mouseUp
  277.   if the number of this card > 2 then
  278.     if field body is empty then
  279.       put FileName("TEXT") into theFile
  280.       if theFile is not empty then
  281.         open file theFile
  282.         read from file theFile for 30000
  283.         put it into bkgnd field body
  284.         close file theFile
  285.       end if
  286.     else
  287.       answer "Import Text: Replace or Add to field contents?" with "Replace" or "Add" or "Cancel"
  288.       if it = "Cancel" then exit mouseup
  289.       if it = "Replace" then
  290.         put FileName("TEXT") into theFile
  291.         if theFile is not empty then
  292.           open file theFile
  293.           read from file theFile for 30000
  294.           put it into bkgnd field body
  295.           close file theFile
  296.         end if
  297.       else
  298.         put return after last line of bkgnd field body
  299.         put FileName("TEXT") into theFile
  300.         if theFile is not empty then
  301.           open file theFile
  302.           read from file theFile for 30000
  303.           put the number of lines in field body into liner
  304.           put it after line liner of bkgnd field body
  305.           close file theFile
  306.         end if
  307.       end if
  308.     end if
  309.   else
  310.     play boing
  311.     Answer "Don't import to Index or Help Card!"
  312.   end if
  313. end mouseUp
  314.  
  315.  
  316.  
  317. -- part 33 (button)
  318. -- low flags: 00
  319. -- high flags: 0000
  320. -- rect: left=0 top=97 right=138 bottom=34
  321. -- title width / last selected line: 0
  322. -- icon id / first selected line: 26884 / 26884
  323. -- text alignment: 1
  324. -- font id: 0
  325. -- text size: 12
  326. -- style flags: 0
  327. -- line height: 16
  328. -- part name: pict
  329. ----- HyperTalk script -----
  330. on mouseUp
  331.   if the number of this card > 2 then
  332.     answer "Change to Picture or Text?" with Text or Picture
  333.     if it contains "Text" then
  334.       show tool window
  335.       choose select tool
  336.       doMenu Select All
  337.       doMenu Clear Picture
  338.       choose browse tool
  339.       hide tool window
  340.       hide pattern window
  341.     else
  342.       show pattern window
  343.       show tool window
  344.       choose rectangle tool
  345.       set filled to false
  346.       drag from (item 1 of the rect of field keywords), (item 2 of the rect of field keywords) to (item 3 of the rect of field keywords), (item 4 of the rect of field keywords)
  347.       drag from 0,28 to 512,342
  348.       choose bucket tool
  349.       set pattern to 1
  350.       click at 250,250
  351.       choose text tool
  352.       set the textfont to Geneva
  353.       set the textsize to 9
  354.       click at 10,320
  355.       type "Don't use eraser. Use white brush instead."
  356.       click at 10,330
  357.       type "Command-Space will toggle the menubar on or off."
  358.       choose brush tool
  359.     end if
  360.   else
  361.     play boing
  362.     answer "Uh-uh. You don't want to change this card."
  363.   end if
  364. end mouseUp
  365.  
  366.  
  367.  
  368. -- part 36 (button)
  369. -- low flags: 00
  370. -- high flags: 0000
  371. -- rect: left=0 top=61 right=98 bottom=34
  372. -- title width / last selected line: 0
  373. -- icon id / first selected line: 1007 / 1007
  374. -- text alignment: 1
  375. -- font id: 0
  376. -- text size: 12
  377. -- style flags: 0
  378. -- line height: 16
  379. -- part name: output
  380. ----- HyperTalk script -----
  381. on mouseUp
  382.   answer "Output to printer or to text file?" with "Printer" or "File" or "Cancel"
  383.   if it = "Cancel" then
  384.     exit mouseup
  385.   else if it = "Printer" then
  386.     answer "Print the stack or a report of its text" with "Stack" or "Report" or "Cancel"
  387.     if it = "Cancel" then
  388.       exit mouseup
  389.     else if it = "Stack" then
  390.       doMenu Print Stack...
  391.     else if it = "Report" then
  392.       doMenu Print Report...
  393.     end if
  394.   else if it = "File" then
  395.     answer "Save a file of the Stack or of this Card?" with "Stack" or "Card" or "Cancel"
  396.     if it = "Cancel" then
  397.       exit mouseup
  398.     else if it = "Stack" then
  399.       put the number of cards into counter
  400.       go to first card
  401.       put the short name of this stack & ".text" into tfilename
  402.       Get PutFile("Save text as:",tfilename)
  403.       if it is empty then exit mouseup
  404.       put it into textfile
  405.       set cursor to 4
  406.       set the loc of message to 10,120
  407.       put "Writing to file " & textfile & ".  Please wait..."into message
  408.       open file textfile
  409.       repeat (counter - 1)
  410.         go next card
  411.         write field keywords to file textfile
  412.         write return to file textfile
  413.         write field body to file textfile
  414.         write return to file textfile
  415.         write return to file textfile
  416.       end repeat
  417.       close file textfile
  418.       go first card
  419.       play harpsichord c e g bb
  420.       flash 1
  421.       put "Done." into message
  422.       wait 2 seconds
  423.       hide message
  424.     else if it = "Card" then
  425.       put the short name of this card & ".text" into tfilename
  426.       Get PutFile("Save text as:",tfilename)
  427.       if it is empty then exit mouseup
  428.       put it into textfile
  429.       open file textfile
  430.       write field keywords to file textfile
  431.       write return to file textfile
  432.       write field body to file textfile
  433.       close file textfile
  434.     end if
  435.   end if
  436. end mouseUp
  437.  
  438.  
  439.  
  440. -- part 45 (field)
  441. -- low flags: 80
  442. -- high flags: 2004
  443. -- rect: left=22 top=33 right=61 bottom=188
  444. -- title width / last selected line: 0
  445. -- icon id / first selected line: 0 / 0
  446. -- text alignment: 0
  447. -- font id: 0
  448. -- text size: 12
  449. -- style flags: 0
  450. -- line height: 16
  451. -- part name: keywords
  452. ----- HyperTalk script -----
  453. on mouseUp
  454.   set cursor to 4
  455.   put field keywords into holder
  456.   put the number of this card into num
  457.   put empty into field inlinks
  458.   put "One moment, Please." into line 2 of field inlinks
  459.   show field inlinkstitle
  460.   show field inlinks
  461.   show bkgnd button "Hide"
  462.   put "What links to " & holder &"?" into field inlinkstitle
  463.   put the number of cards into counter
  464.   set lockscreen to true
  465.   put empty into field inlinks
  466.   -- The next section is commented out and replaced with my own code
  467.   -- repeat counter
  468.   --  go next
  469.   --  if field body contains holder then
  470.   --  put return after last line of field inlinks of card num
  471.   --  put field keywords after last line of field inlinks of card num
  472.   -- end if
  473.   -- end repeat
  474.   -- Here is my search code
  475.   put 0 into first_card
  476.   push card
  477.   go card 2
  478.   repeat
  479.     find holder in field body
  480.     if (the result is empty) and (the number of this card is not first_card) then
  481.       if first_card is 0 then put the number of this card into first_card
  482.       if (field "keywords" is not holder) then
  483.         put return after last line of field inlinks of card num
  484.         put field keywords after last line of field inlinks of card num
  485.       end if
  486.       go next
  487.     else
  488.       exit repeat
  489.     end if
  490.   end repeat
  491.   pop card
  492.   -- end of my search code
  493.   play harpsichord
  494.   flash 1
  495.   set lockscreen to false
  496.   click at 0,0 --disable selection
  497.   set lockText of the target to true
  498.   if field inlinks is empty then
  499.     hide field inlinks
  500.     hide field inlinkstitle
  501.     hide bkgnd button Hide
  502.   end if
  503. end mouseUp
  504.  
  505.  
  506.  
  507. -- part 41 (field)
  508. -- low flags: 81
  509. -- high flags: 2002
  510. -- rect: left=258 top=32 right=52 bottom=426
  511. -- title width / last selected line: 0
  512. -- icon id / first selected line: 0 / 0
  513. -- text alignment: 1
  514. -- font id: 3
  515. -- text size: 9
  516. -- style flags: 0
  517. -- line height: 12
  518. -- part name: inlinkstitle
  519.  
  520.  
  521. -- part 42 (field)
  522. -- low flags: 81
  523. -- high flags: 2007
  524. -- rect: left=258 top=51 right=114 bottom=426
  525. -- title width / last selected line: 0
  526. -- icon id / first selected line: 0 / 0
  527. -- text alignment: 0
  528. -- font id: 2
  529. -- text size: 9
  530. -- style flags: 0
  531. -- line height: 12
  532. -- part name: inlinks
  533. ----- HyperTalk script -----
  534. on mouseUp
  535.   if the selection is empty then
  536.     set lockText of the target to false
  537.     repeat two times
  538.       click at the clickLoc
  539.     end repeat
  540.     put the selection into holder
  541.     push card
  542.     visual effect wipe right to black
  543.     visual effect wipe left
  544.     find holder in field keywords -- This line is the link
  545.     if the result is not empty then
  546.       answer "No match for keyword " "e& holder"e
  547.       pop card
  548.     end if
  549.     click at 0,0 --disable selection
  550.     set lockText of the target to true
  551.   end if
  552. end mouseUp
  553.  
  554.  
  555.  
  556. -- part 43 (button)
  557. -- low flags: 80
  558. -- high flags: 8003
  559. -- rect: left=413 top=37 right=58 bottom=452
  560. -- title width / last selected line: 0
  561. -- icon id / first selected line: 0 / 0
  562. -- text alignment: 1
  563. -- font id: 0
  564. -- text size: 12
  565. -- style flags: 0
  566. -- line height: 16
  567. -- part name: Hide
  568. ----- HyperTalk script -----
  569. on mouseUp
  570.   hide field inlinks
  571.   hide field inlinkstitle
  572.   hide bkgnd button Hide
  573. end mouseUp
  574.  
  575.  
  576.  
  577. -- part 46 (button)
  578. -- low flags: 00
  579. -- high flags: 0000
  580. -- rect: left=437 top=21 right=51 bottom=471
  581. -- title width / last selected line: 0
  582. -- icon id / first selected line: 902 / 902
  583. -- text alignment: 1
  584. -- font id: 0
  585. -- text size: 12
  586. -- style flags: 0
  587. -- line height: 16
  588. -- part name: Back
  589. ----- HyperTalk script -----
  590. on mouseUp
  591.   set lockscreen to true
  592.   go prev
  593.   set lockscreen to false
  594. end mouseUp
  595.  
  596.  
  597.  
  598. -- part 47 (button)
  599. -- low flags: 00
  600. -- high flags: 0000
  601. -- rect: left=474 top=21 right=51 bottom=508
  602. -- title width / last selected line: 0
  603. -- icon id / first selected line: 26425 / 26425
  604. -- text alignment: 1
  605. -- font id: 0
  606. -- text size: 12
  607. -- style flags: 0
  608. -- line height: 16
  609. -- part name: Back
  610. ----- HyperTalk script -----
  611. on mouseUp
  612.   set lockscreen to true
  613.   go next
  614.   set lockscreen to false
  615. end mouseUp
  616.  
  617.